1. Technical Field of the Invention
The invention relates generally to communication systems; and, more particularly, it relates to decoding of LDPC (Low Density Parity Check) coded signals within such communication systems.
2. Description of Related Art
Data communication systems have been under continual development for many years. One such type of communication system that has been of significant interest lately is a communication system that employs iterative error correction codes. Of particular interest is a communication system that employs LDPC (Low Density Parity Check) code. Communications systems with iterative codes are often able to achieve lower bit error rates (BER) than alternative codes for a given signal to noise ratio (SNR).
A continual and primary directive in this area of development has been to try continually to lower the SNR required to achieve a given BER within a communication system. The ideal goal has been to try to reach Shannon's limit in a communication channel. Shannon's limit may be viewed as being the data rate to be used in a communication channel, having a particular SNR, that achieves error free transmission through the communication channel. In other words, the Shannon limit is the theoretical bound for channel capacity for a given modulation and code rate.
LDPC code has been shown to provide for excellent decoding performance that can approach the Shannon limit in some cases. For example, some LDPC decoders have been shown to come within 0.3 dB (decibels) from the theoretical Shannon limit. While this example was achieved using an irregular LDPC code of a length of one million, it nevertheless demonstrates the very promising application of LDPC codes within communication systems.
Generally speaking, within the context of communication systems that employ LDPC codes, there is a first communication device at one end of a communication channel with encoder capability and second communication device at the other end of the communication channel with decoder capability. In many instances, one or both of these two communication devices includes encoder and decoder capability (e.g., within a bi-directional communication system).
In such prior art communication devices, one of the greatest hurdles and impediments in designing effective communication devices that can decode LDPC coded signals is the typically large area and memory required to store and manage all of the updated bit edge messages and check edge messages that are updated and employed during iterative decoding processing (e.g., when storing and passing the check edges messages and the bit edges messages back and forth between a check engine and a bit engine, respectively). When dealing with relatively large block sizes in the context of LDPC codes, the memory requirements and memory management need to deal with these check edges messages and bit edges messages can be very difficult to handle.
Prior art approaches to performing decoding of LDPC coded signals are inherent memory intensive, in that, the typical prior art approach is such that (1) all of the bit edge messages are updated, then (2) all of the check edge messages are updated, then (3) all of the bit edge messages are updated, and so on, until a solution is arrived at or until a fixed number of decoding iterations has been performed. Especially for LDPC coded signals employing a relatively large block size, this prior art approach requires a significant amount of memory, oftentimes intensive memory management design, and these increase the size and cost of devices that are designed to decode LDPC coded signals using according to this prior art approach.